# -*- coding:utf-8 -*-

''' 
Autores: 
Pedro Godinho - 6355
Pedro Lopes - 9850
'''

import sys
import os

from insertion_sort import InsertionSort
from bubble_sort import BubbleSort
from heapsort import HeapSort
from mergesort import MergeSort
from quicksort import QuickSort
from combsort import CombSort
from selection_sort import SelectionSort
from shellsort import ShellSort
from radix_sort import RadixSort

opc = True
while opc:
    print ("""\n                    Algoritmos
    1 - Insertion-sort       2 - Bubble-sort
    3 - Heapsort             4 - Merge Sort
    5 - Quicksort            6 - Comb Sort
    7 - Selection Sort       8 - Shell Sort
    9 - Radix Sort

    Escolha a opcao 0 para sair do programa\n""")
    opc = input("Escolha uma opcao: ")
    if opc == 0:
        exit()
    elif opc == 1:
        print ("\nA executar Insertion-sort e a gerar o respectivo grafico para 1050 pontos...")
        insertion = InsertionSort()
        insertion.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 2:
        print ("\nA executar Bubble-sort e a gerar o respectivo grafico para 1050 pontos...")
        bubble = BubbleSort()
        bubble.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 3:
        print ("\nA executar Heapsort e a gerar o respectivo grafico para 1050 pontos...")
        heap = HeapSort()
        heap.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 4:
        print ("\nA executar Merge sort e a gerar o respectivo grafico para 1050 pontos...")
        merge = MergeSort()
        merge.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 5:
        print ("\nA executar Quicksort e a gerar o respectivo grafico para 1050 pontos...")
        q = QuickSort()
        q.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 6:
        print ("\nA executar Comb Sort e a gerar o respectivo grafico para 1050 pontos...")
        comb = CombSort()
        comb.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 7:
        print ("\nA executar Selection Sort e a gerar o respectivo grafico para 1050 pontos...")
        selection = SelectionSort()
        selection.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 8:
        print ("\nA executar Shell Sort e a gerar o respectivo grafico para 1050 pontos...")
        shell = ShellSort()
        shell.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    elif opc == 9:
        print ("\nA executar Radix Sort e a gerar o respectivo grafico para 1050 pontos...")
        radix = RadixSort()
        radix.grafico()
        raw_input("\nPressione qualquer tecla...")
        pass
    else:
        time.sleep(10000)
    	pass
